using UniversalAdminSystem.Domian.Core.Interfaces;
using UniversalAdminSystem.Domian.UserConversations.Aggregates;

namespace UniversalAdminSystem.Domian.UserConversations.IRepository;

public interface IConversationsRepository : IRepository<Conversations>
{
    /// <summary>
    /// 获取所有用户Id的会话
    /// </summary>
    /// <param name="userId"></param>
    /// <returns></returns>
    Task<IEnumerable<Conversations>> GetByUserIdAsync(Guid userId);

    /// <summary>
    /// 删除所有用户id的会话
    /// </summary>
    /// <param name="userId"></param>
    /// <returns></returns>
    Task RemoveByUserIdAsync(Guid userId);


    /// <summary>
    /// 删除会话及相关消息
    /// </summary>
    /// <param name="ConversationId"></param>
    /// <returns></returns>
    Task RemoveConversation(Guid ConversationId);
}